<?php
/*
 * @@Copyright (C), 2021-2022: 恒盛时代
 * @Author: zhouzhou
 * @Date: 2021/12/3
 * @Description: 用户消息状态设置
 */

namespace App\Models;

use Illuminate\Database\Eloquent\SoftDeletes;

class ImUserNoticeStatus extends BaseModel
{
    protected $table = 'im_user_notice_status';
    public $fillable = ['user_id'];
    protected $hidden = ['created_at','updated_at'];

    /**
     * @desc 用户消息设置
     * @param array $input 传过来数组对象
     * @param int $userId 用户id
     * @return array|int[]
     * @author zhouzhou
     * @time 2021/12/3 14:58
     */
    public function setNotice($input,  $userId)
    {
        $type = $input['type'];
        $value = $input['value'];
        $userNotice = $this->where('user_id', $userId)->first();
        switch($type)
        {
            case ($type == 1):  // 新消息通知 im未打开时 默认1打开，0关闭
                $userNotice->notice = $value;
                break;
            case ($type == 2):  // 语音和视频通话提醒 im未打开时：语音和视频通话提醒，默认1打开，0关闭
                $userNotice->voice = $value;
                break;
            case ($type == 3):  // 通知显示消息详情 im未打开时，默认1打开，0关闭
                $userNotice->show_detail = $value;
                break;
            case ($type == 4):  // 新消息通知 im打开时：新消息通知，默认1打开，0关闭
                $userNotice->open_notice = $value;
                break;
            case ($type == 5):  // 语音和视频通话提醒 im打开时：语音和视频通话提醒，默认1打开，0关闭
                $userNotice->open_voice = $value;
                break;
            case ($type == 6):  // 振动 im打开时，默认1打开振动， 0关闭振动
                $userNotice->open_chatter = $value;
                break;
            case ($type == 7):  // 会话标记，默认1红点，2灰色数字'
                $userNotice->talk_mark = $value;
                break;
            case ($type == 8):  // 导航栏标记，展示提醒默认1，隐藏提醒2'
                $userNotice->tab_mark = $value;
                break;
            case ($type == 9):  // 新设备登录需要短信安全验证 新设备登录需要短信安全验证 默认0不需要，1打开需要'
                $userNotice->sms_verify = $value;
                break;
            case ($type == 10):  // 禁止使用密码登录开关，默认0关闭可以使用，1打开不能密码登录
                $userNotice->no_password_login = $value;
                break;
            case ($type == 11):  // 禁止使用短信验证码登录开关，默认0关闭可以使用，1打开不能验证码登录
                $userNotice->no_sms_login = $value;
                break;
            default :
                break;
        }

        if($userNotice->save() == FALSE)
        {
            return ['code' => 1, 'msg' => '设置失败'];
        }

        return ['code' => 0, 'id' => $this->id, 'msg' => '设置成功'];
    }


}
